#pragma once

#include <opencv\cv.h>
#include <opencv\highgui.h>

#include "Frame.hxx"

class ChannelModel;
class TrackerView;
class ChannelFourBoxView;

class TrackerModel
{
public:
	TrackerModel(void);
	~TrackerModel(void);

	void initialize();

	void updateChannelImage( int chnIndex, IplImage* image );
	inline TrackerView* getView() { return _view; }
	inline void setView( TrackerView* view ) { _view = view; }

	inline ChannelModel* getSubModel( int index ) { return _channelModels[ index ]; }

	void setSubModelViews();

	void saveModelSettings();

private:
	ChannelModel* _channelModels[ CHANNEL_COUNT ];

	TrackerView* _view;
};

